Hệ thống đặt hàng thực phẩm trong Php
1 <?php
2 include 'includes/connect.php';
3 include 'includes/wallet.php';
4 $continue=0;
5 if($_SESSION['admin_sid']==session_id())
6 {
7 $ticket_id = $_GET['id'];
8 $sql1 = "SELECT * FROM tickets WHERE id = $ticket_id;";
9 if(mysqli_num_rows(mysqli_query($con,$sql1))>0){
10 $row = $con->query($sql1)->fetch_assoc();
11 $type = $row['type'];
12 $subject = $row['subject'];
13 $description = $row['description'];
14 $date = $row['date'];
15 $status = $row['status'];
16 $continue=1;
17 }
18 else
19 $continue = 0;
20 }
21
22 if($continue){
23 ?>
24
25 <!DOCTYPE html>
26 <html lang="en">
27
28 <head>
29 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
30 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
31 <meta http-equiv="X-UA-Compatible" content="IE=edge">
32 <meta name="msapplication-tap-highlight" content="no">
33 <title>Ticket No. <?php echo $ticket_id.' - '. $type;?></title>
34
35 <!-- Favicons-->
36 <link rel="icon" href="images/favicon/favicon-32x32.png" sizes="32x32">
37 <!-- Favicons-->
38 <link rel="apple-touch-icon-precomposed" href="images/favicon/apple-touch-icon-152x152.png">
39 <!-- For iPhone -->
40 <meta name="msapplication-TileColor" content="#00bcd4">
41 <meta name="msapplication-TileImage" content="images/favicon/mstile-144x144.png">
42 <!-- For Windows Phone -->
43
44
45 <!-- CORE CSS-->
46 <link href="css/materialize.min.css" type="text/css" rel="stylesheet" media="screen,projection">
47 <link href="css/style.min.css" type="text/css" rel="stylesheet" media="screen,projection">
48 <!-- Custome CSS-->
49 <link href="css/custom/custom.min.css" type="text/css" rel="stylesheet" media="screen,projection">
50
51 <link href="js/plugins/perfect-scrollbar/perfect-scrollbar.css" type="text/css" rel="stylesheet" media="screen,projection">
52 <style type="text/css">
53 .input-field div.error{
54 position: relative;
55 top: -1rem;
56 left: 0rem;
57 font-size: 0.8rem;
58 color:#FF4081;
59 -webkit-transform: translateY(0%);
60 -ms-transform: translateY(0%);
61 -o-transform: translateY(0%);
62 transform: translateY(0%);
63 }
64 .input-field label.active{
65 width:100%;
66 }
67 .left-alert input[type=text] + label:after,
68 .left-alert input[type=password] + label:after,
69 .left-alert input[type=email] + label:after,
70 .left-alert input[type=url] + label:after,
71 .left-alert input[type=time] + label:after,
72 .left-alert input[type=date] + label:after,
73 .left-alert input[type=datetime-local] + label:after,
74 .left-alert input[type=tel] + label:after,
75 .left-alert input[type=number] + label:after,
76 .left-alert input[type=search] + label:after,
77 .left-alert textarea.materialize-textarea + label:after{
78 left:0px;
79 }
80 .right-alert input[type=text] + label:after,
81 .right-alert input[type=password] + label:after,
82 .right-alert input[type=email] + label:after,
83 .right-alert input[type=url] + label:after,
84 .right-alert input[type=time] + label:after,
85 .right-alert input[type=date] + label:after,
86 .right-alert input[type=datetime-local] + label:after,
87 .right-alert input[type=tel] + label:after,
88 .right-alert input[type=number] + label:after,
89 .right-alert input[type=search] + label:after,
90 .right-alert textarea.materialize-textarea + label:after{
91 right:70px;
92 }
93 </style>
94 </head>
95
96 <body>
97 <!-- Start Page Loading -->
98 <div id="loader-wrapper">
99 <div id="loader"></div>
100 <div class="loader-section section-left"></div>
101 <div class="loader-section section-right"></div>
102 </div>
103 <!-- End Page Loading -->
104
105 <!-- //////////////////////////////////////////////////////////////////////////// -->
106
107 <!-- START HEADER -->
108 <header id="header" class="page-topbar">
109 <!-- start header nav-->
110 <div class="navbar-fixed">
111 <nav class="navbar-color">
112 <div class="nav-wrapper">
113 <ul class="left">
114 <li><h1 class="logo-wrapper"><a href="index.php" class="brand-logo darken-1"><img src="images/materialize-logo.png" alt="logo"></a> <span class="logo-text">Logo</span></h1></li>
115 </ul>
116 <ul class="right hide-on-med-and-down">
117 <li><a href="#" class="waves-effect waves-block waves-light"><i class="mdi-editor-attach-money"><?php echo $balance;?></i></a>
118 </li>
119 </ul>
120 </div>
121 </nav>
122 </div>
123 <!-- end header nav-->
124 </header>
125 <!-- END HEADER -->
126
127 <!-- //////////////////////////////////////////////////////////////////////////// -->
128
129 <!-- START MAIN -->
130 <div id="main">
131 <!-- START WRAPPER -->
132 <div class="wrapper">
133
134 <!-- START LEFT SIDEBAR NAV-->
135 <aside id="left-sidebar-nav">
136 <ul id="slide-out" class="side-nav fixed leftside-navigation">
137 <li class="user-details cyan darken-2">
138 <div class="row">
139 <div class="col col s4 m4 l4">
140 <img src="images/avatar.jpg" alt="" class="circle responsive-img valign profile-image">
141 </div>
142 <div class="col col s8 m8 l8">
143 <ul id="profile-dropdown" class="dropdown-content">
144 <li><a href="routers/logout.php"><i class="mdi-hardware-keyboard-tab"></i> Logout</a>
145 </li>
146 </ul>
147 </div>
148 <div class="col col s8 m8 l8">
149 <a class="btn-flat dropdown-button waves-effect waves-light white-text profile-btn" href="#" data-activates="profile-dropdown"><?php echo $name;?> <i class="mdi-navigation-arrow-drop-down right"></i></a>
150 <p class="user-roal"><?php echo $role;?></p>
151 </div>
152 </div>
153 </li>
154 <li class="bold"><a href="index.php" class="waves-effect waves-cyan"><i class="mdi-editor-border-color"></i> Order Food</a>
155 </li>
156 <li class="no-padding">
157 <ul class="collapsible collapsible-accordion">
158 <li class="bold"><a class="collapsible-header waves-effect waves-cyan"><i class="mdi-editor-insert-invitation"></i> Orders</a>
159 <div class="collapsible-body">
160 <ul>
161 <li><a href="all-orders.php">All Orders</a>
162 </li>
163 <?php
164 $sql = mysqli_query($con, "SELECT DISTINCT status FROM orders;");
165 while($row = mysqli_fetch_array($sql)){
166 echo '<li><a href="all-orders.php?status='.$row['status'].'">'.$row['status'].'</a>
167 </li>';
168 }
169 ?>
170 </ul>
171 </div>
172 </li>
173 </ul>
174 </li>
175 <li class="no-padding">
176 <ul class="collapsible collapsible-accordion">
177 <li class="bold"><a class="collapsible-header waves-effect waves-cyan"><i class="mdi-action-question-answer"></i> Tickets</a>
178 <div class="collapsible-body">
179 <ul>
180 <li><a href="all-tickets.php">All Tickets</a>
181 </li>
182 <?php
183 $sql = mysqli_query($con, "SELECT DISTINCT status FROM tickets;");
184 while($row = mysqli_fetch_array($sql)){
185 echo '<li><a href="all-tickets.php?status='.$row['status'].'">'.$row['status'].'</a>
186 </li>';
187 }
188 ?>
189 </ul>
190 </div>
191 </li>
192 </ul>
193 </li>
194 <li class="bold"><a href="details.php" class="waves-effect waves-cyan"><i class="mdi-social-person"></i> Edit Details</a>
195 </li>
196 </ul>
197 <a href="#" data-activates="slide-out" class="sidebar-collapse btn-floating btn-medium waves-effect waves-light hide-on-large-only cyan"><i class="mdi-navigation-menu"></i></a>
198 </aside>
199 <!-- END LEFT SIDEBAR NAV-->
200
201 <!-- //////////////////////////////////////////////////////////////////////////// -->
202
203 <!-- START CONTENT -->
204 <section id="content">
205
206 <!--breadcrumbs start-->
207 <div id="breadcrumbs-wrapper">
208 <div class="container">
209 <div class="row">
210 <div class="col s12 m12 l12">
211 <h5 class="breadcrumbs-title">Provide Order Details</h5>
212 </div>
213 </div>
214 </div>
215 </div>
216 <!--breadcrumbs end-->
217
218
219 <!--start container-->
220 <div class="container">
221 <p class="caption">Receipt</p>
222 <div class="divider"></div>
223 <!--editableTable-->
224 <div class="section">
225 <?php
226 echo '<ul id="task-card" class="collection with-header">
227 <div id="card-alert" class="card cyan">
228 <div class="card-content white-text">
229 <span class="card-title white-text darken-1">Ticket No. '.$ticket_id.'</span>
230 <p><strong>Subject: </strong>'.$subject.'</p>
231 <p><strong>Status: </strong>'.$status.'</p>
232 <p><strong>Type: </strong>'.$type.'</p>
233 </div>
234 <div class="card-action cyan">
235 <form method="post" action="routers/ticket-status.php">
236 <input type="hidden" name="ticket_id" value="'.$ticket_id.'">
237 <input type="hidden" name="status" value="'.($status != 'Closed' ? 'Closed' : 'Open').'">
238 <button class="waves-effect waves-light deep-orange btn white-text" type="submit" name="action">'
239 .($status != 'Closed' ? 'Close<i class="mdi-navigation-close"></i>' : 'Reopen<i class="mdi-navigation-check"></i>').'
240 </button>
241 </form>
242 </div>
243 </div>
244 </ul>';
245 echo '<ul id="issues-collection" class="collection">';
246 $sql1 = mysqli_query($con, "SELECT * from ticket_details WHERE ticket_id = $ticket_id;");
247 while($row1 = mysqli_fetch_array($sql1)){
248 $sql2 = "SELECT * FROM users WHERE id = ".$row1['user_id'].";";
249 if(mysqli_num_rows(mysqli_query($con,$sql2))>0){
250 $row2 = $con->query($sql2)->fetch_assoc();
251 $name = $row2['name'];
252 $role1 = $row2['role'];
253 }
254 echo '
255 <li class="collection-item avatar">
256 <i class="'.($role1=='Administrator' ? 'mdi-action-star-rate' : 'mdi-social-person').' cyan circle"></i>
257 <span class="collection-header"> '.$name.'</span>
258 <p><strong>Date:</strong> '.$row1['date'].'</p>
259 <p><strong>Role:</strong> '.$role1.'</p>
260 <a href="#" class="secondary-content">
261 <i class="mdi-action-grade"></i></a>
262 </li>
263 <li class="collection-item">
264 <div class="row">
265 <p class="caption">'.$row1['description'].'</p>
266 </div>
267 </li>';
268 }
269 echo '</ul>';
270 if($status != 'Closed'){
271 echo '
272 <div class="card-panel">
273 <div class="row">
274 <form class="formValidate" id="formValidate" method="post" action="routers/ticket-message.php" novalidate="novalidate" class="col s12">
275 <div class="row">
276 <input type="hidden" name="role" value="'.$role.'">
277 <input type="hidden" name="ticket_id" value="'.$ticket_id.'">
278 <div class="input-field col s12">
279 <i class="mdi-action-home prefix"></i>
280 <textarea name="message" id="message" class="materialize-textarea validate" data-error=".errorTxt1"></textarea>
281 <label for="message" class="">Add a reply</label>
282 <div class="errorTxt1"></div>
283 </div>
284 <div class="row">
285 <div class="input-field col s12">
286 <button class="btn cyan waves-effect waves-light right" type="submit" name="action">Reply
287 <i class="mdi-content-send right"></i>
288 </button>
289 </div>
290 </div>
291 </div>
292 </form>
293 </div>
294 </div>';
295 }
296 ?>
297 </div>
298 </div>
299 </div>
300 </div>
301 <!--end container-->
302
303 </section>
304 <!-- END CONTENT -->
305 </div>
306 <!-- END WRAPPER -->
307
308 </div>
309 <!-- END MAIN -->
310
311
312
313 <!-- //////////////////////////////////////////////////////////////////////////// -->
314
315 <!-- START FOOTER -->
316 <footer class="page-footer">
317 <div class="footer-copyright">
318 <div class="container">
319 <span>Copyright © 2017 <a class="grey-text text-lighten-4" href="#" target="_blank">Students</a> All rights reserved.</span>
320 <span class="right"> Design and Developed by <a class="grey-text text-lighten-4" href="#">Students</a></span>
321 </div>
322 </div>
323 </footer>
324 <!-- END FOOTER -->
325
326
327
328 <!-- ================================================
329 Scripts
330 ================================================ -->
331
332 <!-- jQuery Library -->
333 <script type="text/javascript" src="js/plugins/jquery-1.11.2.min.js"></script>
334 <!--angularjs-->
335 <script type="text/javascript" src="js/plugins/angular.min.js"></script>
336 <!--materialize js-->
337 <script type="text/javascript" src="js/materialize.min.js"></script>
338 <script type="text/javascript" src="js/plugins/jquery-validation/jquery.validate.min.js"></script>
339 <script type="text/javascript" src="js/plugins/jquery-validation/additional-methods.min.js"></script>
340
341 <!--scrollbar-->
342 <script type="text/javascript" src="js/plugins/perfect-scrollbar/perfect-scrollbar.min.js"></script>
343 <!--plugins.js - Some Specific JS codes for Plugin Settings-->
344 <script type="text/javascript" src="js/plugins.min.js"></script>
345 <!--custom-script.js - Add your own theme custom JS-->
346 <script type="text/javascript" src="js/custom-script.js"></script>
347 <script type="text/javascript">
348 $("#formValidate").validate({
349 rules: {
350 message: {
351 required: true,
352 minlength: 5,
353 maxlength: 300
354 },
355 },
356 messages: {
357 message: {
358 required: "Please provide a reply.",
359 minlength: "Minimum 5 characters are required.",
360 maxlength: "Maximum 3000 characters are required."
361 },
362 },
363 errorElement : 'div',
364 errorPlacement: function(error, element) {
365 var placement = $(element).data('error');
366 if (placement) {
367 $(placement).append(error)
368 } else {
369 error.insertAfter(element);
370 }
371 }
372 });
373 </script>
374 </body>
375
376 </html>
377 <?php
378 }
379 else
380 {
381 if($_SESSION['customer_sid']==session_id())
382 {
383 header("location:tickets.php");
384 }
385 else{
386 header("location:login.php");
387 }
388 }
389 ?>